#ifndef GPUID
#define GPUID

#include "processor.h"

namespace sleek
{
    namespace core
    {
        namespace os
        {
            enum PROCESSOR_GPU_VENDOR { PGT_ATI, PGT_NVIDIA, PGT_COUNT };
            class gpuid
            {
                public:
                    gpuid();
                    ~gpuid();

                    void detectVirtualProcessor();
                    u32  getVirtualNumberProcessor();
                    processor getVirtualProcessor(u32);
                    void updateVirtualProcessorInfo(u32);

                    void printQuickDescription();
                protected:
                    math::array<processor> proc;
                private:
            };
        }
    }
}

#endif
